Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Sep 14, 2025

This PR attempts to address Issue #7982 by adding the IDA Pro MCP to the marketplace. Feedback and guidance are welcome!

Summary

This PR adds a marketplace submission for the IDA Pro MCP (Model Context Protocol) server, which enables advanced reverse engineering capabilities through LLM integration with IDA Pro.

Changes

  • Created marketplace-submissions/ida-pro-mcp.yaml with the marketplace entry in the correct format
  • Added comprehensive documentation in marketplace-submissions/README.md

IDA Pro MCP Features

The IDA Pro MCP provides:

  • Decompilation and Disassembly: Get decompiled pseudocode and assembly code
  • Function Analysis: List, search, and analyze functions
  • Cross-References: Track references to addresses and struct fields
  • Variable Management: Rename and retype variables
  • Code Annotation: Add comments to disassembly and pseudocode
  • Debugging Support: Control debugger, set breakpoints (with --unsafe flag)
  • Type Management: Declare C types and manage local types

Important Note

Since the marketplace data is managed server-side at https://app.roocode.com/api/marketplace/mcps, this submission provides all necessary information for the maintainers to add the IDA Pro MCP to the marketplace API.

Testing

  • ✅ All linting checks passed
  • ✅ Type checking passed
  • ✅ Review confidence: 95%

Related Issues

Closes #7982

Repository Information


Important

Adds IDA Pro MCP marketplace submission with YAML metadata and detailed documentation.

  • Marketplace Submission:
    • Adds ida-pro-mcp.yaml for IDA Pro MCP to marketplace submissions.
    • YAML includes metadata: ID, name, description, author, URL, tags, prerequisites, and command configuration.
  • Documentation:
    • Updates README.md with details on IDA Pro MCP features, installation, and integration with Roo Code.
    • Lists requirements: Python 3.11+, IDA Pro 8.3+.
  • Features:
    • Provides decompilation, disassembly, function analysis, cross-references, variable management, code annotation, debugging, and type management.

This description was created by Ellipsis for 00d19af. You can customize this summary. It will automatically update as commits are pushed.

- Created marketplace submission for IDA Pro MCP server
- Added comprehensive documentation about the MCP features
- Included YAML configuration matching marketplace API format
- Addresses issue #7982 requesting IDA Pro MCP addition

The submission provides reverse engineering capabilities through
IDA Pro integration, including decompilation, disassembly, debugging,
and code analysis features.
@roomote roomote bot requested review from cte, jr and mrubens as code owners September 14, 2025 19:53
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. enhancement New feature or request labels Sep 14, 2025
# This file contains the marketplace entry for the IDA Pro MCP server
# Format matches the structure used in https://app.roocode.com/api/marketplace/mcps

- id: 'ida-pro'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider using a more specific identifier and name (e.g. 'ida-pro-mcp' and 'IDA Pro MCP') to match repository and README. This improves consistency and discoverability.

Suggested change
- id: 'ida-pro'
- id: 'ida-pro-mcp'

Copy link
Contributor Author

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently I can't even copy YAML correctly. Time to review my own mistakes.

# This file contains the marketplace entry for the IDA Pro MCP server
# Format matches the structure used in https://app.roocode.com/api/marketplace/mcps

- id: 'ida-pro'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the correct YAML structure? Looking at the codebase tests, it seems the API expects an items: wrapper with the array inside:

Suggested change
- id: 'ida-pro'
items:
- id: 'ida-pro'
name: 'IDA Pro'
description: 'MCP Server for IDA Pro that enables advanced reverse engineering capabilities through LLM integration. Provides decompilation, disassembly, function analysis, cross-references, debugging, and code annotation features for binary analysis.'
author: 'mrexodia'
url: 'https://github.com/mrexodia/ida-pro-mcp'
tags:
- 'reverse-engineering'
- 'ida-pro'
- 'disassembly'
- 'decompilation'
- 'binary-analysis'
- 'debugging'
- 'security'
- 'malware-analysis'
prerequisites:
- 'Python 3.11 or higher'
- 'IDA Pro 8.3 or higher (IDA Free not supported)'
- 'ida-pro-mcp Python package installed'
content: |
{
"command": "ida-pro-mcp",
"args": ["--unsafe"],
"env": {}
}
parameters: []

content: |
{
"command": "ida-pro-mcp",
"args": ["--unsafe"],
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The --unsafe flag enables debugging features. Should we document the security implications of this flag? Users might want to understand what risks they're accepting when using this option.

@@ -0,0 +1,63 @@
# Marketplace Submissions

This directory contains marketplace item submissions for the Roo Code extension marketplace.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this directory the right place for marketplace submissions? The actual marketplace data appears to be managed server-side at the API endpoint. Perhaps we should clarify that these files are documentation/proposals rather than actual marketplace entries that will be automatically processed?

Users need to:

1. Install the Python package: `pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zip`
2. Run the configuration: `ida-pro-mcp --install`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The installation process mentions ida-pro-mcp --install but this step isn't reflected in the YAML prerequisites. Should we add this as a prerequisite or clarify that it's a post-installation configuration step?


- **Repository**: https://github.com/mrexodia/ida-pro-mcp
- **Author**: mrexodia
- **License**: Check repository for license details
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we specify the actual license instead of asking users to check the repository? Looking at the upstream repo, it appears to be MIT licensed.

"args": ["--unsafe"],
"env": {}
}
parameters: [] No newline at end of file
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be helpful to add configurable parameters here? For example, users might need to specify their IDA Pro installation path or other configuration options.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Sep 14, 2025
@daniel-lxs daniel-lxs closed this Sep 15, 2025
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Sep 15, 2025
@github-project-automation github-project-automation bot moved this from Triage to Done in Roo Code Roadmap Sep 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[MCP] Add Mcp https://github.com/mrexodia/ida-pro-mcp/

4 participants